class Person {
    String name;
    int age;

    Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    void printfInfo() {
        System.out.println("name is " + name + ", age is " + age);
    }
}

class Student extends Person {
    String school;

    Student(String name, int age, String school) {
        super(name, age); // 调用父类的构造方法
        this.school = school;
    }

    void pintfStudentInfo() {
        super.printfInfo(); // 调用父类的方法
        System.out.println("school is " + school);
    }

}

public class Test {
    public static void main(String[] args) {
        Person p = new Person("Alice", 30);
        p.printfInfo();

        Student s = new Student("Bob", 20, "No.1 High School");
        s.printfInfo(); // 调用继承自父类的方法
        s.pintfStudentInfo(); // 调用子类自己的方法
    }
}